#ifndef MOCKMESSAGEPARSER_H
#define MOCKMESSAGEPARSER_H

#include "protocol/IProtocolHandler.h"
#include <QJsonObject>
#include <QJsonValue>
#include <gmock/gmock.h>

/**
 * @brief Mock implementation of IMessageParser for testing
 * @details Provides Google Mock implementation for IMessageParser interface
 */
class MockMessageParser : public IMessageParser
{
public:
    MockMessageParser() = default;
    ~MockMessageParser() = default;

    MOCK_METHOD(bool, validateMessage, (const QJsonObject& message), (override));
    MOCK_METHOD(QString, parseMethodName, (const QJsonObject& request), (override));
    MOCK_METHOD(QJsonObject, parseParameters, (const QJsonObject& request), (override));
    MOCK_METHOD(bool, isNotification, (const QJsonObject& message), (override));
};

#endif // MOCKMESSAGEPARSER_H
